package matchs

import (
	"github.com/flipped-aurora/gin-vue-admin/server/global"
	"time"
)

// MatchAskPush 问问推送记录表（关联问问任务与接收用户）
type MatchAskPush struct {
	global.GVA_MODEL
	AskTaskID     uint64     `gorm:"column:ask_task_id;type:bigint unsigned;not null;comment:'关联问问任务ID'" json:"askTaskId"`
	ReceiveUserID uint64     `gorm:"column:receive_user_id;type:bigint unsigned;not null;comment:'接收推送的用户ID'" json:"receiveUserId"`
	Status        int8       `gorm:"column:status;type:tinyint;not null;default:0;comment:'处理状态：0-未回复 1-已回复 2-已失效'" json:"status"`
	PushedAt      time.Time  `gorm:"column:pushed_at;type:datetime;not null;default:current_timestamp;comment:'推送时间'" json:"pushedAt"`
	ReplyAt       *time.Time `gorm:"column:reply_at;type:datetime;comment:'回复时间'" json:"replyAt"` // 指针类型，支持NULL
}

// TableName 自定义表名（适配框架蛇形命名规范）
func (m *MatchAskPush) TableName() string {
	return "match_ask_push"
}

// 接收用户处理状态枚举
const (
	AskPushStatusPending = 0 // 未回复
	AskPushStatusReplied = 1 // 已回复
	AskPushStatusExpired = 2 // 已失效
)
